SpringCloud |
您所在的位置:网站首页 › nacos 集群部署 › SpringCloud |
本文详细介绍了如何在SpringCloud环境中搭建Nacos集群。通过清晰的步骤和详尽的说明,帮助读者在SpringCloud中成功搭建Nacos集群。文章详细介绍了安装和配置的每个步骤,确保了高可用性和可伸缩性。通过清晰的说明和示例,读者能够轻松理解复杂的集群搭建过程,实现微服务体系的稳固运行。这篇文章是搭建Nacos集群的理想参考,为构建可靠的分布式系统提供了关键信息。 一、Nacos集群示意图Nacos(Naming and Configuration Service)是一个用于服务发现、动态配置管理以及可视化服务管理的开源平台。Nacos支持构建弹性的、动态的、易于维护的微服务架构,并为大规模微服务体系的管理提供了完整的解决方案。在Nacos的集群视图中,Nacos可以通过横向扩展的方式构建多个节点,形成一个高可用的集群,以确保系统的稳定性和可靠性。 3@BRYW 78F5R7FHHK8D - SpringCloud-Nacos集群搭建Nacos集群特点: 特点 特点详述 节点同步 集群中的各个节点能够相互同步数据,确保配置信息和服务实例的一致性。 负载均衡 Nacos集群可以通过负载均衡机制,将服务请求合理分发到各个节点,提高系统的整体性能和吞吐量。 高可用性 Nacos集群通过多节点的部署,实现高可用性,即使某个节点发生故障,集群仍能保持正常运行。 水平扩展 集群中的节点可以随着需求的增加而动态扩展,实现系统的横向扩展,以适应不断增长的服务规模。 故障转移 集群中的节点能够感知其他节点的状态,当某个节点发生故障时,其他节点可以接管其工作,确保系统的连续性。 通过Nacos的集群视图,可以更好地管理和维护微服务架构,提供了一个稳定、高效、可靠的服务治理平台。 二、Nacos集群搭建1、安装Nacos首先,我们需要从 Nacos 的官方网站下载发布版本。下载地址:Releases · alibaba/nacos · GitHub 001 3 1024x392 - SpringCloud-Nacos集群搭建选择合适的版本并下载,解压缩得到 Nacos 的安装包。 在解压后的 Nacos 目录中,找到 bin 文件夹。 002 4 - SpringCloud-Nacos集群搭建用写字板编辑 startup.cmd,将 set MODE= “cluster” 修改为: set MODE="standalone"这将在启动 Nacos Server 时,默认使用 standalone 模式运行。 修改完成后,切换 cmd 到 bin 目录下启动 Nacos Server: C:\Users\Damon.Liu>d: D:\>cd D:\Tools\Nacos\bin D:\Tools\Nacos\bin>startup.cmd -m standalone003 2 - SpringCloud-Nacos集群搭建这里提醒我需要配一个 java8以上 的 JAVA_HOME 环境变量。 简单配一下: 004 2 - SpringCloud-Nacos集群搭建再次尝试启动 Nacos,这次成功了! 005 2 1024x581 - SpringCloud-Nacos集群搭建2、复制客户端复制两份Nacos的客户端,用端口号命名做区分。 注意端口号需要最少间隔一位,原因是 Nacos 2.0 之后,启动 Nacos 时会占用 +1000/1001 两个端口,如果相邻,会导致启动了一个 Nacos 之后,启动不了相同端口的另一个 Nacos。 官方文档说明如下: image 62 - SpringCloud-Nacos集群搭建所以,我们命名为 Nacos_8844、Nacos_8846,间隔两位,同时和默认的 8848 端口的 Nacos 区分开来,方便我们辨认。 002 12 - SpringCloud-Nacos集群搭建下面,对三个客户端分别进行修改。 3、创建Nacos数据库MySQL 创建名为 Nacos 的数据库。 将 conf 文件夹下的 mysql-schema.sql 导入到这个库里。 007 6 - SpringCloud-Nacos集群搭建4、修改每个客户端application.properties① 修改端口号首先,修改三个客户端为不同的端口号。 端口在 conf 目录下的 application.properties 下修改: image 66 - SpringCloud-Nacos集群搭建② 修改数据库连接信息放开数据库的三处注释。 009 5 1024x522 - SpringCloud-Nacos集群搭建这里有个数据库连接数,我们就一个数据库所以填1; 下面的 jdbc 连接信息,改为我们数据库的账号密码,连接的就是我们刚刚创建的 Nacos 数据库。 5、修改每个客户端集群配置再对每个客户端 conf 目录下的 cluster.conf.example 文件复制一份,改名为 cluster.conf。 7C0J5J679@C5UP56YRCL - SpringCloud-Nacos集群搭建修改复制出来的 cluster.conf 文件,把三个 nacos 服务端地址都添加到里面: 192.168.0.107:8844 192.168.0.107:8846 192.168.0.107:8848005 7 - SpringCloud-Nacos集群搭建启动三个nacos服务端,如果之前是单机模式运行的,修改过启动器的代码,则需要改回来。 比如我的 startup.cmd 里之前指定了默认启动方式,这里需要修改这一行为: set MODE= "cluster"006 7 - SpringCloud-Nacos集群搭建6、逐一启动Nacos服务修改之后,我们双击 Stratup.cmd 启动 Nacos: 008 5 1024x654 - SpringCloud-Nacos集群搭建启动成功之后,我们可以访问已经启动的 Nacos 控制台查看:localhost:8848/nacos 010 4 1024x487 - SpringCloud-Nacos集群搭建三、Nginx反向代理1、下载安装Nginx访问 Nginx官网(nginx.org/en/download.html) 下载最新的稳定版本。 nginx 001 1024x630 - SpringCloud-Nacos集群搭建2、修改Nginx默认端口解压Nginx压缩包,修改默认端口。 Nginx的配置文件是conf目录下的nginx.conf,默认配置的nginx监听的端口为80,根据端口占用情况,我们可以修改位其他端口,这里我修改位40。 修改之前我们可以输入cmd指令,查询端口占用状态: #查看80端口是否被占用的命令是: netstat-ano | findstr 0.0.0.0:80 netstat-ano | findstr "80"如果被占用了,我们可以修改 Nginx\conf\nginx.conf 文件里的监听端口号,来指定默认端口。 比如,我这里换为40端口。 nginx 002 1024x656 - SpringCloud-Nacos集群搭建但建议大家还是给 Nginx 80端口,默认端口最终我还是用的默认80端口。 3、启动Nginx启动Nginx,验证服务是否成功开启。 双击根目录下的nginx.exe,双击后一个黑色的弹窗一闪而过就消失了,启动就完成了。 然后我们访问80端口,看到Nginx服务已经成功运行了。 image 63 - SpringCloud-Nacos集群搭建4、Nginx对Nacos负载均衡的配置我们这里要配置 Nginx\conf\nginx.conf 文件。 listen:监听的端口; (监听端口需要避免占用,尤其是 win-server,需要关闭IIS在80端口的默认项目) server_name:监听的域名(填写 localhost 即为公网IP); location 里 proxy_pass:设置转发的目标地址; 默认端口我还是用的默认80端口。 upstream nacos-cluster { server 127.0.0.1:8844; server 127.0.0.1:8846; server 127.0.0.1:8848; } server { listen 80; server_name localhost; location /nacos { proxy_pass http://nacos-cluster; } }这里给出的例子的意思是:当收到 /naocs 请求时,自动转发请求到 Nacos 集群,通过负载均衡指定具体哪个端口的 Nacos 响应。 011 4 - SpringCloud-Nacos集群搭建修改完配置后,我们要停止之前的 Nginx 服务,重启后配置才能刷新。 image 64 - SpringCloud-Nacos集群搭建5、浏览器访问测试访问 localhost/nacos,如果显示是 Nacos 的控制台页面,则说明配置成功。 image 65 1024x553 - SpringCloud-Nacos集群搭建四、Nacos控制台新建配置1、Nacos控制台新建配置我们访问 Nacos 的控制台页面,因为我们刚刚用 Nginx 转达到集群,所以 Nacos 控制台地址变为 localhost/nacos,我们点击新建配置。 配置起名为:test-service.yaml,类型选为 YAML 类型,配置内容我们写一个时间格式: pattern: dateformat: yyyy-MM-dd HH:mm:ss012 3 - SpringCloud-Nacos集群搭建2、查看配置是否存入数据库我们打开我们刚刚创建的 Nacos 数据库,查看 config-info 表: 013 5 - SpringCloud-Nacos集群搭建可以看到配置已经写入表内了。 至此,我们的Nacos集群搭建成功! 五、Nacos集群的应用场景Nacos集群在微服务架构中具有广泛的应用场景,其中一些关键的应用场景包括: 场景 场景下功能描述 服务注册服务发现 Nacos集群作为注册中心,可以用于服务的注册与发现。微服务在启动时将自身注册到Nacos集群,其他微服务通过Nacos发现和调用这些服务。 动态配置管理 Nacos提供了分布式配置管理功能,允许在运行时动态调整应用程序的配置。Nacos集群可以用于集中式管理配置信息,实现配置的动态更新和热加载。 健康检查故障恢复 Nacos集群通过定期的健康检查,能够检测服务的状态并及时发现故障节点。当某个微服务发生故障时,Nacos能够自动剔除不可用的节点,确保系统的高可用性。 动态路由 基于Nacos集群,可以实现动态路由策略,根据服务的状态和负载情况,动态调整请求的路由,实现流量的均衡和优化。 分布式锁与协调 Nacos提供了分布式锁和协调的功能,可以应用于分布式系统中的同步、协作和资源竞争场景,确保多个微服务之间的有序执行。 事件驱动架构 Nacos支持事件监听机制,可以通过订阅Nacos集群中的事件,实现微服务架构中的事件驱动,提高系统的解耦性和可维护性。 综上所述,Nacos集群不仅仅是服务注册中心,还在微服务架构中发挥着关键的角色,支持多种场景下的服务治理和协调。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |